package main

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"time"
)

// 题目: 定义计时中间件,定义两个路由,打印请求时间, 一个5秒,一个3秒

// 定义中间件
func myTime(c *gin.Context) {
	start := time.Now()
	// 执行中间件
	c.Next()
	// 统计时间
	sine := time.Since(start)
	fmt.Println("用时: ", sine)
}

func main() {
	r := gin.Default()
	// 注册中间件
	r.Use(myTime)

	group := r.Group("/shopping")
	{
		group.GET("/index", indexHandler)
		group.GET("/home", homeHandler)
	}

	r.Run(":8000")
	// 分别请求: 控制台打印5秒和3秒
	// http://localhost:8000/shopping/index
	// http://localhost:8000/shopping/home
}
func indexHandler(c *gin.Context) {
	time.Sleep(5 * time.Second)
}
func homeHandler(c *gin.Context) {
	time.Sleep(3 * time.Second)
}
